Telephony services are offered through a variety of avenues, such as landline phones, cellular phones, and more recently, Voice-Over-Internet Protocol (VoIP). In the most common telephony services, there is a first user of the service (the dialer) and a second user of the service (the called party). In order for the dialer to establish communications with a desired party, the dialer is required to input a telephony identifier that corresponds to the called party. One example of such a telephony identifier is a telephone number.
VoIP is a relatively new telephony service that provides communications using Internet protocols rather than the traditional phone service. One such Internet protocol is Session Initiation Protocol (SIP). SIP is a signaling protocol used for Internet conferencing, telephony, events notification, and instant messaging. Communications devices use SIP to establish a connection with each other.
As mentioned above, SIP can be used for telephony communications, such as telephone and video calls. Current implementations of SIP for telephone calls require the dialer to enter the telephone number of the party to be contacted using a communications device. When the caller has completed entering the telephone number, the communications device attempts to initiate the call. In response to an attempted connection, SIP provides status codes that can indicate different information, such as whether a connection was successful.
When attempting to initiate a call, the communications device sends the telephone number to the communications facility. The communications facility uses the telephone number to determine the party with which to establish a connection. Once the connection is established, the dialer and the called party are able to communicate with each other. Under this process of establishing a connection, it is desirable that the communications device allows enough time for the caller to enter the entire telephone number while initiating a connection attempt soon after the entering of the telephone number has been completed. These seemingly competing goals are complicated by a number of issues. For instance, telephone numbers can vary in length depending upon different factors such as the location of the caller and the called party (e.g., whether the call is local, long distance, or international). Due to this variance in the length of the telephone number, the communications device cannot readily determine whether the dialer has completed entering the telephone number based solely upon the length of telephone number.
Various approaches are employed to facilitate such VoIP telephone calls. These approaches, however, leave room for improvement. For example, some SIP communication devices implement a timed delay before initiating the telephone call to ensure that the dialer has completed entering the telephone number. Generally, the timer begins running after a digit is pressed and is reset every time a new digit is pressed. The delay must be long enough to account for the manual entering of digits so as to avoid initiating a connection before the dialer has finished entering the entire telephone number. This method, however, results in a delay between the time the caller finishes entering the telephone number and the time the call is initiated.
Another approach involves allowing the user to indicate that they have completed the entering of information. For example, the caller may press a special character or button that indicates the number is believed to be complete. While this approach can sometimes speed the dialing procedure, the practical application often exhibits problems. First, dialers must be made aware of how to utilize the method. Second, even if aware of how the method functions, dialers may be unwilling to implement it or they may simply forget about the method.
These and other issues have presented challenges to the implementation of telephony communications, including those involving SIP and similar applications.